package TouristManagement;

/**
 * Interface definition : ServerNamingTourist
 * 
 * @author OpenORB Compiler
 */
public abstract class ServerNamingTouristPOA extends org.omg.PortableServer.Servant
        implements ServerNamingTouristOperations, org.omg.CORBA.portable.InvokeHandler
{
    public ServerNamingTourist _this()
    {
        return ServerNamingTouristHelper.narrow(_this_object());
    }

    public ServerNamingTourist _this(org.omg.CORBA.ORB orb)
    {
        return ServerNamingTouristHelper.narrow(_this_object(orb));
    }

    private static String [] _ids_list =
    {
        "IDL:TouristManagement/ServerNamingTourist:1.0"
    };

    public String[] _all_interfaces(org.omg.PortableServer.POA poa, byte [] objectId)
    {
        return _ids_list;
    }

    public final org.omg.CORBA.portable.OutputStream _invoke(final String opName,
            final org.omg.CORBA.portable.InputStream _is,
            final org.omg.CORBA.portable.ResponseHandler handler)
    {

        if (opName.equals("_get_nomSites")) {
                return _invoke__get_nomSites(_is, handler);
        } else if (opName.equals("_get_nomSystemTransports")) {
                return _invoke__get_nomSystemTransports(_is, handler);
        } else if (opName.equals("_get_nomTouristOffice")) {
                return _invoke__get_nomTouristOffice(_is, handler);
        } else if (opName.equals("_get_nomVisitManagement")) {
                return _invoke__get_nomVisitManagement(_is, handler);
        } else {
            throw new org.omg.CORBA.BAD_OPERATION(opName);
        }
    }

    // helper methods
    private org.omg.CORBA.portable.OutputStream _invoke__get_nomTouristOffice(
            final org.omg.CORBA.portable.InputStream _is,
            final org.omg.CORBA.portable.ResponseHandler handler) {
        org.omg.CORBA.portable.OutputStream _output;
        String arg = nomTouristOffice();
        _output = handler.createReply();
        _output.write_string(arg);
        return _output;
    }

    private org.omg.CORBA.portable.OutputStream _invoke__get_nomVisitManagement(
            final org.omg.CORBA.portable.InputStream _is,
            final org.omg.CORBA.portable.ResponseHandler handler) {
        org.omg.CORBA.portable.OutputStream _output;
        String arg = nomVisitManagement();
        _output = handler.createReply();
        _output.write_string(arg);
        return _output;
    }

    private org.omg.CORBA.portable.OutputStream _invoke__get_nomSystemTransports(
            final org.omg.CORBA.portable.InputStream _is,
            final org.omg.CORBA.portable.ResponseHandler handler) {
        org.omg.CORBA.portable.OutputStream _output;
        String[] arg = nomSystemTransports();
        _output = handler.createReply();
        TouristManagement.ListStringHelper.write(_output,arg);
        return _output;
    }

    private org.omg.CORBA.portable.OutputStream _invoke__get_nomSites(
            final org.omg.CORBA.portable.InputStream _is,
            final org.omg.CORBA.portable.ResponseHandler handler) {
        org.omg.CORBA.portable.OutputStream _output;
        String[] arg = nomSites();
        _output = handler.createReply();
        TouristManagement.ListStringHelper.write(_output,arg);
        return _output;
    }

}
